import Mock from 'mockjs';
import qs from 'query-string';
import setupMock, { successResponseWrap } from '@/utils/setup-mock';
import { GetParams } from '@/types/global';

const { Random } = Mock;
const companyNames = [
  '未来科技',
  '天空创想',
  '星际探索',
  '奇迹科学',
  '未知探索',
  '神秘科技',
  '梦想实现',
  '新世界科技',
  '超越极限',
  '创意思维',
  '极光科技',
  '无限创新',
  '时空科技',
  '奇幻科技',
  '未来视界',
  '光明科技',
  '星辰科技',
  '宇宙探索',
  '智慧创造',
  '梦想启航',
  '超级智能',
  '奇迹工程',
  '未来之星',
  '未来科学',
  '创新科技',
  '未来科创',
  '蓝色星球',
  '科技探索',
  '星空科技',
  '创变科技',
  '未来无限',
  '智能科技',
  '未来梦想',
  '超级科技',
  '无限创想',
  '奇迹创意',
  '未来领航',
  '创新之路',
  '超越未来',
  '奇思科技',
  '未来传媒',
  '创业创新',
  '未来启航',
  '科技未来',
  '梦想创新',
  '未来拓展',
  '创新领域',
  '奇迹探索',
  '未来视野',
  '科技时代',
  '未来引领',
  '智慧科技',
  // 新增加的公司名字
  '医疗科技',
  '环保科技',
  '金融科技',
  '人工智能',
  '生物科技',
  '新能源科技',
  '航天科技',
  '农业科技',
  '机器人科技',
  '虚拟现实',
  '物联网科技',
  '区块链科技',
  '教育科技',
  '汽车科技',
  '游戏科技',
  '电子商务',
  '通讯科技',
  '软件开发',
  '云计算科技',
  '大数据科技',
  '食品科技',
  '材料科技',
  '航空航天',
  '化学科技',
];
const nameSuffixes = [
  '有限公司',
  '国有企业',
  '股份有限公司',
  '集团',
  '科技有限公司',
  '投资有限公司',
  '贸易集团',
  '实业集团',
  '物流有限公司',
  '科技股份有限公司',
  '金融控股',
  '能源集团',
];
const data = Mock.mock({
  'list|55': [
    {
      'number|4': /[0-9]/,
      'name': () => Random.pick(companyNames) + Random.pick(nameSuffixes),
      'phoneNumber': () =>
        Number(['1'] + Random.pick([3, 5, 8, 7]) + Random.string('number', 9)),
      'entryTime': () => {
        let date = Random.date('yyyy-MM-dd');
        while (new Date(date) > new Date('2003-12-31')) {
          date = Random.date('yyyy-MM-dd');
        }
        return date;
      },
    },
  ],
});

setupMock({
  setup() {
    Mock.mock(new RegExp('/api/list/instructors'), (params: GetParams) => {
      const { current = 1, pageSize = 10 } = qs.parseUrl(params.url).query;
      const p = current as number;
      const ps = pageSize as number;
      return successResponseWrap({
        list: data.list.slice((p - 1) * ps, p * ps),
        total: 55,
      });
    });
  },
});
